查看原文
其他

微框架Spring Boot使用Redis如何实现Session共享

Java精选 2022-08-09

首先了解一下Spring Boot框架,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。


Spring Boot是一些库的集合,它能够被任意项目的构建系统所使用。为了方便期间,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。另外一种更为简便的方式是使用Groovy环境管理器(Groovy enVironment Manager,GVM),它会处理Boot版本的安装和管理。Boot及其CLI可以通过GVM的命令行gvm install springboot进行安装。在OS X上安装Boot可以使用Homebrew包管理器。为了完成安装,首先要使用brew tap pivotal/tap切换到Pivotal仓库中,然后执行brew install springboot命令。


Spring Boot特点包含如下:

1. 创建独立的Spring应用程序

2. 嵌入的Tomcat,无需部署WAR文件

3. 简化Maven配置

4. 自动配置Spring

5. 提供生产就绪型功能,如指标,健康检查和外部配置

6. 绝对没有代码生成和对XML没有要求配置

 

简单介绍完Spring Boot微框架后,下面为大家讲述一下Spring Boot微框架如何使用Redis 来实现Session共享的,Redis服务下载源码部署到Windows系统或者Linux系统就可以了,此处省略如何安装Redis服务,如果对Redis缓存服务有什么疑惑可关注公众号留言咨询。


步骤一引入相关依赖jar包,在maven的pom.xml文件中增加如下图依赖:


步骤二使用Spring Boot中@EnableRedisHttpSession注解开启Spring session支持,新建RedisSessionConfig.java类,具体代码如下图:

分析:@EnableRedisHttpSession注解其中maxInactiveIntervalInSeconds参数是设置Session失效时间,开启注解后spring会生成一个新的拦截器,用于实现Session共享操作,配置的@Bean注解让Spring根据配置文件连接Redis服务。


步骤三配置Redis服务,在项目中使用redis.properties文件,增加如下图配置信息,用于连接Redis服务:

host是redis服务地址,password是密码一般默认密码为空,port是端口号,database数据库索引默认为0,timeout是连接超时时间(毫秒),其他参数省略。


步骤四测试方法获取sessionid值,具体代码如下图:

登录redis服务输入命令“keys '*sessions*'”,结果如下图:

其中“1472976480000”为失效时间含义是超过这个时间就会被销毁,“57de45f-c91b-5dd0-98c1-b28e1b8a1355”为sessionid值,登录访问http://localhost:8080/uid地址会发现是结果相同,说明session已经在redis服务中被有效的存储。


有的人会问如何在两台或多台服务上实现共享session,其实原理很简单参考上述步骤在另外一个项目中配置一次,启动后就会实现session共享。


推荐↓↓↓
 

优哉游哉

更多推荐《优哉游哉

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存